Shaker sort is a variant on bubble sort, where the "head" alternates back and forth through the list, instead of going in the same direction every time.

Arms 1, 2, and 3 convert the input into a line; arms 4, 5, 6, and 7 shuffle the line through the head for testing; arms 9, 10, and 11 do a set of 3 tests, either pushing the current pair back down or left for arms 11 and 12 to swap it.

The following pairs get swapped:
🜂🜂
🜔🜂
🜄🜂
🜔🜔
🜄🜔